﻿using System.Drawing;
using FastColoredTextBoxNS;

/// <summary>
/// Structure of a Ynote Theme
/// </summary>
 public interface IYnoteTheme
 {
    /// <summary>
    /// String style
    /// </summary>
     Style StringStyle { get;  }
    /// <summary>
    /// Comment style
    /// </summary>
     Style CommentStyle { get;  }
    /// <summary>
    /// Number style
    /// </summary>
     Style NumberStyle { get;  }
    /// <summary>
    /// C# attribute style
    /// </summary>
     Style AttributeStyle { get;  }
    /// <summary>
    /// Class name style
    /// </summary>
     Style ClassNameStyle { get;  }
    /// <summary>
    /// Keyword style
    /// </summary>
     Style KeywordStyle { get;  }
    /// <summary>
    /// Style of tags in comments of C#
    /// </summary>
     Style CommentTagStyle { get;  }

    /// <summary>
    /// HTML attribute value style
    /// </summary>
     Style AttributeValueStyle { get;  }
    /// <summary>
    /// HTML tag brackets style
    /// </summary>
     Style TagBracketStyle { get;  }
    /// <summary>
    /// HTML tag name style
    /// </summary>
     Style TagNameStyle { get;  }
    /// <summary>
    /// HTML Entity style
    /// </summary>
     Style HtmlEntityStyle { get; }
     /// <summary>
     /// Char Style
     /// </summary>
     Style CharStyle { get; }
    /// <summary>
    /// Variable style
    /// </summary>
     Style VariableStyle { get;  }
    /// <summary>
    /// Specific PHP keyword style
    /// </summary>
     Style KeywordStyle2 { get;  }
    /// <summary>
    /// Specific PHP keyword style
    /// </summary>
     Style KeywordStyle3 { get;  }
    /// <summary>
    /// SQL Statements style
    /// </summary>
     Style StatementsStyle { get;  }
    /// <summary>
    /// SQL Functions style
    /// </summary>
     Style FunctionsStyle { get;  }
    /// <summary>
    /// SQL Types style
    /// </summary>
     Style TypesStyle { get;  }
     /// <summary>
     /// CSS Selector Style
     /// </summary>
     Style CSSSelectorStyle{get;}
     /// <summary>
     /// CSS Property Style
     /// </summary>
     Style CSSPropertyStyle{get;}
     /// <summary>
     /// Python and Ruby Class Name Style
     /// </summary>
     Style ClassNameStyle2 { get; }
    /// <summary>
    /// Back Color
    /// </summary>
     Color BackColor { get;  }
    /// <summary>
    /// Fore Color
    /// </summary>
     Color ForeColor { get;  }
    /// <summary>
    /// Bookmark Color
    /// </summary>
     Color BookmarkColor { get;  }
    /// <summary>
    /// Line Number Color
    /// </summary>
     Color LineNumberColor { get;  }
    /// <summary>
    /// Current Line Color
    /// </summary>
     Color CurrentLineColor { get;  }
    /// <summary>
    /// Selection Color
    /// </summary>
     Color SelectionColor { get;  }
    /// <summary>
    /// Folding Indication Color
    /// </summary>
     Color FoldingColor { get;  }
    /// <summary>
    /// Caret Color
    /// </summary>
     Color CaretColor { get;  }
    /// <summary>
    /// 
    /// </summary>
     Brush BracketBrush1 { get;  }
    /// <summary>
    /// Bracket Brush 2
    /// </summary>
     Brush BracketBrush2 { get;  }
    /// <summary>
    /// Line Number Padding Color
    /// </summary>
     Color LineNumberPaddingColor { get;  }
    /// <summary>
    /// Service Line Color
    /// </summary>
     Color ServiceLineColor { get;  }
     /// <summary>
     /// HyperLink Color
     /// </summary>
     Color HyperLinkColor { get; }

}